#ifndef _HCC_ERROR_CODE_DRV_DEV_GPIO_H_
#define _HCC_ERROR_CODE_DRV_DEV_GPIO_H_

#include "ofc_types.h"
#include "hcc_error_code.h"
#include "hcc_error_code_drv.h"

#ifdef __cplusplus
extern "C" {
#endif

// 不含行号的错误码生成
#define HCC_MAKE_DRV_DEV_GPIO_ERROR(error_code) (int)HCC_MAKE_DRIVER_ERROR(kHccDrvDevGpio, error_code, HCC_ERROR_LEVEL_ERROR)
// 含行号的错误码生成
#define HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(error_code) (int)HCC_ERROR(HCC_MAKE_DRIVER_ERROR(kHccDrvDevGpio, error_code, HCC_ERROR_LEVEL_ERROR))


/**
 * DEV层 Gpio:DEV层 Gpio
 */
enum THccDrvDevGpioTag
{
	kHccDrvDevGpioSuccess	=	HCC_ERROR_SUCCESS,			///< 成功,没有错误
	kHccDrvDevGpioParam	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(0),			///<参数错误
	kHccDrvDevGpioOpened	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(1),			///<已打开
	kHccDrvDevGpioClosed	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(2),			///<已关闭
	kHccDrvDevGpioMem	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(3),			///<空间不足
	kHccDrvDevGpioFail	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(4),			///<操作失败
	kHccDrvDevGpioNotSupport	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(5),			///<操作不支持
	kHccDrvDevGpioCallback	=	HCC_MAKE_DRV_DEV_GPIO_ERROR(6),			///<回调未设置
};
typedef enum THccDrvDevGpioTag THccDrvDevGpio;


typedef Int32 THccDrvDevGpioLine;
#define kHccDrvDevGpioSuccessLine	HCC_ERROR_SUCCESS	///< 成功,没有错误
#define kHccDrvDevGpioParamLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(0)	///<参数错误
#define kHccDrvDevGpioOpenedLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(1)	///<已打开
#define kHccDrvDevGpioClosedLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(2)	///<已关闭
#define kHccDrvDevGpioMemLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(3)	///<空间不足
#define kHccDrvDevGpioFailLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(4)	///<操作失败
#define kHccDrvDevGpioNotSupportLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(5)	///<操作不支持
#define kHccDrvDevGpioCallbackLine	HCC_MAKE_DRV_DEV_GPIO_ERROR_LINE(6)	///<回调未设置

#ifdef __cplusplus
}  // extern "C"
#endif

#endif // _HCC_ERROR_CODE_DRV_DEV_GPIO_H_
/**
 * @
 */
